Multi Programming

Multi Programming
최대한 CPU를 많이 활용하도록 하는 시스템
    - 시간 대비 CPU 활용도
    - 응용 프로그램을 짧은 시간 안에 실행 완료를 시킬 수 있음
멀티 프로그래밍
    - 응용 프로그램은 온전히 CPU를 쓰기 보다, 다른 작업을 중간에 필요로 하는 경우가 많다.
       ex) 응용 프로그램이 실행되다가 파일을 읽는다->저장 매체를 읽는 동안 오랫동안 CPU를 사용하지 않음
              응용 프로그램이 실행되다가 프린팅을 한다.

CPU가 사용되지 않을 때, 다른 프로그램을 실행한다.
Memory access time
register        1cycles
level1 cache        2-4
level2 cache        10
level3 cache        40
main memory            200
flash drive        10-100micro sec
hardDisk        10milli sec
정리
실제로는 시분할 시스템, 멀티 프로그래밍, 멀티 태스킹이 유사한 의미로 통용된다.